/* 
BasicPrimaryGeneratorAction 
John Sparger 3/15/2011

This class is a simple UserPrimaryGeneratorAction class 
that allows for the user to add multiple PimaryGenerators which
whose GeneratePrimaryVertex() methods will all be called for 
each event. 

*/

#ifndef BASICPRIMARYGENERATOR_H
#define BASICPRIMARYGENERATOR_H


//#include "G4VUserPrimaryGeneratorAction.hh"
#include "globals.hh"
#include "G4VPrimaryGenerator.hh"
#include <vector>
using namespace std;


class BasicPrimaryGenerator : public G4VPrimaryGenerator
{
public:
	BasicPrimaryGenerator();
	virtual ~BasicPrimaryGenerator();

	virtual void addPrimaryGenerator(G4VPrimaryGenerator* generator);
	virtual void GeneratePrimaryVertex(G4Event* evt);
	virtual void setPosition(G4ThreeVector p);

protected:
	vector<G4VPrimaryGenerator*> generatorList; 
	G4ThreeVector position;

};



#endif